Some embodiments described herein relate generally to host control protocols, and more particularly to distributed host control protocols implemented within a switch fabric.
Known network solutions often employ a variety of protocols that facilitate the management of location and address information for each device on a computer network. Many of these protocols, such as Dynamic Host Connection Protocol (DHCP), Address Resolution Protocol (ARP), Reverse Address Resolution Protocol (RARP) and Internet Group Management Protocol (IGMP) are implemented by network hardware and software (executing on hardware) to manage device address information, such as network addresses, forwarding state information and multicast group membership. Because they are generally serviced from the host side of a client-host (or server) relationship, these protocols may be referred to as host-side protocols. While such protocols facilitate the sharing of routing information (such as Internet Protocol (IP) and Media Access Control (MAC) addresses) among network devices, typical implementations of such protocols often result in network bottlenecks and other inefficiencies, as individual routers and switches tasked with distributing this routing information introduce congestion between devices.
Such inefficiencies are often magnified within distributed networks. For example, in many such large-scale networks, protocol processes such as those enumerated above are themselves large in size. Further, the in such networks the transmission of forwarding state information is difficult to scale, as routing and switching devices must often spend inordinate time and resources receiving and responding to host-side protocol requests.
Thus, a need exists for methods and apparatus to distribute the handling of some protocol-based requests among multiple network entities, thereby allowing for acceptable scaling. A need further exists for the dynamic provisioning of network resources, thereby allowing for flexible and efficient allocation of processing power within the network.